The present invention relates to a method, apparatus and program for recording and playing back content data, a method, apparatus and program for playing back content data, and a method, apparatus and program for recording content data. More particularly, the present invention relates to a method, apparatus and program for recording and playing back content data, a method, apparatus and program for playing back content data, and a method, apparatus and program for recording content data that make it possible for a user to view a specified content in a highly reliable fashion.
In recent years, a digital broadcast service provided by a broadcast station by transmitting a digital television signal has become popular. In digital broadcast services, because a broadcast television signal is in the form of digital data, it is easy to process the television signal. Therefore, if a broadcast station supplies metadata together with a content, a television receiver not only can simply output the received content but also can process the received content in various ways.
For example, many methods have been proposed to transmit, together with a program (content), information associated with the program to provide various kinds of services such as electronic program guide information, a program index, subtitles, sub audio information (for vision-impaired users), supplementary program information (indicating, for example, performers or the like, a summary of a program, etc.), a multiview television image (using a plurality of cameras located at different positions), and/or an interactive program (a shopping program, a questionnaire program, etc.) as disclosed, for example, in Japanese Unexamined Patent Application Publication No. 2002-176401.
A method has been proposed to control information associated with image objects multiplexed on a data channel so as to display image objects in a superimposed manner in synchronization with video/audio data multiplexed on a video/audio channel of a digital broadcast program so that if an image object is selected, the program is controlled in accordance with information associated with the selected image object as disclosed, for example, in Japanese Unexamined Patent Application Publication No. 2002-185885.
A method has also been proposed to provide sub-information associated with a particular image object in a television program image such that a viewer can easily acquire sub-information via link data as disclosed, for example, in Japanese Unexamined Patent Application Publication No. 2003-259336.
Furthermore, not only associated data is simply added to a main broadcast program data (content data) as in the above-described techniques, but a method has been proposed to control a program receiving mode or a program display mode by additional sub-data.
For example, it has been proposed to record, in a television receiver, a program (program) broadcast from a broadcast station and play back specified one or more units or scenes (segments) of the recorded program in accordance with a request issued by a user. This type of broadcast service is known as server-type broadcasting. In this technique, for example, a broadcast station provides, in addition to program data, segment metadata indicating an attribute of segments and the relative time of each segment with respect to the start of the program to a television receiver. The television receiver acquires the segment metadata as well as the program data (content data) and plays back a particular segment based on the segment metadata.
FIG. 1 shows an example of an example of a known method of extracting a segment. As shown in a lower area of FIG. 1, a television receiver receives segment metadata 11 as well as a stream resource 1 in the MPEG2-TS (Moving Picture Experts Group 2-Transport Stream) format as program data. When the television receiver records the stream resource 1, the television receiver produces a stream playback control table 12 indicating the correspondence between relative time information indicating a temporal position as measured from a start of the stream resource 1 and relative position information indicating a data position as measured from the start of the stream resource 1, for picture (frame) data of the stream resource 1, as represented by dashed line 21. In this process of generating the stream playback control table 12, the television receiver generates elements of the stream playback control table 12 in units of GOPs (Group Of Pictures) (such that relative time/position information indicates the time/position of the first picture of each GOP).
If a user specifies attribute information corresponding to an ID of “n” (attribute information associated with a segment N) in the segment metadata 11 (as shown by an arrow 22), the television receiver identifies relative time information Tsegn corresponding to the specified attribute information. The television receiver further identifies relative position information Dsegn corresponding to the identified relative time information Tsegn, based on the stream playback control table 12 (as shown by an arrow 23). Based on the identified relative position information Dsegn, the television receiver accesses the stream resource 1 to read the specified segment N.
The television receiver does not necessarily always operate in synchronization with broadcast processing performed by a broadcast station. In digital broadcasting, the television receiver generally controls the processing timing in accordance with a time offset table (TOT) that is a clock signal supplied from a broadcast station. For example, when automatic recording of a program is programmed, the television receiver detects the current time based on the TOT and starts the recording operation when the current time reaches the programmed record start time.
However, the accuracy of the TOT is not high enough to precisely control the broadcast timing in units of frames. For example, depending on the radio wave propagation condition, as great a shift in the broadcast timing as a few seconds from an intended start time can occur. In the conventional television receiver, because the recording timing is controlled based on the time information with such low accuracy, it is difficult to start recording exactly synchronously with the start of a broadcast program. Furthermore, in the television receiver, there is a possibility that a delay occurs in receiving or recording of a program due to an event of an interrupt.
For the above-described reasons, it is sometimes difficult for the television receiver to start recording of a program (a broadcast content) specified to be recorded precisely from the start of the program and it is also difficult to end the recording precisely at the end of the program. For example, when a program is set to be automatically recorded in accordance with an electronic program guide (EPG), the television receiver starts recording of the program at the predetermined start time. However, there is a possibility that the recording of the program starts before or after the actual start of the program, a shift can occur between the start of the recorded data and the start of the program. Furthermore, for the same reasons, there is a possibility that the recording of the program is ended before or after the actual end of the program.
Thus, if playback of data is controlled by the above-described method, there is a possibility that a shift occurs between the relative time information (relative time information indicating the start position of a program) described in the segment metadata 11 supplied from a broadcast station and the relative time information (relative time information with respect to the start position of the recorded stream resource 1) described in the generated stream playback control table 12. If the data is read in accordance with the relative position information obtained in the above-described situation, there is a possibility that the playback of the segment N is started before or after the correct start position or the playback is ended before or after the correct end position. That is, there is a possibility that the specified segment N is not correctly played back.